Web Development Authentication Events এর সাথে Firestore Trigger করা গাইড ও নোট

266

Firebase Authentication এবং Firestore দুটি অত্যন্ত শক্তিশালী টুল যা একসাথে ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশনের মধ্যে ইউজার অথেনটিকেশন এবং ডেটাবেস পরিবর্তন ট্র্যাক করতে পারেন। Firebase Functions ব্যবহার করে, আপনি Firebase Authentication এর বিভিন্ন ইভেন্টের সাথে Firestore ডেটাবেস ট্রিগার করতে পারেন। উদাহরণস্বরূপ, ইউজার লগইন বা সাইন আপ করার পর Firestore ডেটাবেসে কিছু ইনফরমেশন আপডেট করা বা একটি নতুন ডকুমেন্ট তৈরি করা।

Firebase Functions ব্যবহার করে, আপনি Firebase Authentication এর বিভিন্ন ইভেন্ট (যেমন ইউজার সাইন আপ, সাইন ইন, বা সাইন আউট) ট্রিগার করে Firestore ডেটাবেসে কাজ করতে পারবেন।


Firebase Authentication Events

Firebase Authentication বিভিন্ন ধরনের ইভেন্ট প্রদান করে যা আপনাকে ইউজারের সাইন আপ, সাইন ইন, সাইন আউট এবং অন্যান্য ক্রিয়াকলাপ ট্র্যাক করতে সাহায্য করে। এই ইভেন্টগুলো Firebase Functions এর মাধ্যমে ট্রিগার করা যেতে পারে। কিছু সাধারণ Authentication ইভেন্ট হল:

  1. onCreate: যখন একটি নতুন ইউজার অ্যাকাউন্ট তৈরি হয়।
  2. onDelete: যখন একটি ইউজার অ্যাকাউন্ট ডিলিট করা হয়।
  3. onUpdate: যখন ইউজারের প্রোফাইল বা অন্যান্য ইনফরমেশন আপডেট হয়।

এগুলো Firebase Functions এর মাধ্যমে ট্রিগার করা যায়, যা স্বয়ংক্রিয়ভাবে Firestore ডেটাবেসে পরিবর্তন নিয়ে আসে।


Firestore Trigger ব্যবহার করা

Firestore Trigger ব্যবহার করে আপনি Firestore ডেটাবেসের সাথে Firebase Authentication ইভেন্টগুলো ট্রিগার করতে পারেন। উদাহরণস্বরূপ, ইউজার যখন Firebase Authentication এ সাইন আপ করে, তখন Firestore ডেটাবেসে তার তথ্য সংরক্ষণ করা বা ইউজার সাইন ইন করলে ডেটাবেস আপডেট করা।

Firebase Functions সেটআপ করা

প্রথমে Firebase Functions সেটআপ করা প্রয়োজন। Firebase Functions ব্যবহার করার জন্য Node.js এবং Firebase CLI ইনস্টল করা থাকতে হবে।

  1. Firebase CLI ইনস্টল করা:

    npm install -g firebase-tools
    
  2. Firebase Functions প্রজেক্ট ইনিশিয়ালাইজ করা:

    Firebase প্রজেক্টটি ইন্সটল করতে প্রথমে Firebase Console থেকে প্রজেক্ট তৈরি করুন এবং তার পর Firebase CLI দিয়ে প্রজেক্টটি ইনিশিয়ালাইজ করুন:

    firebase login
    firebase init functions
    
  3. Firebase Functions কোড লেখা:

    Firebase Functions এর কোড লিখতে functions/index.js ফাইলটি এডিট করুন।


Firebase Authentication Event Trigger Example

Firebase Authentication এ onCreate ইভেন্ট ব্যবহার করে নতুন ইউজার সাইন আপ হলে Firestore ডেটাবেসে একটি নতুন ডকুমেন্ট তৈরি করা।

১. Firebase Authentication এর onCreate Trigger

const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();

exports.createUserInFirestore = functions.auth.user().onCreate((user) => {
  const userRef = admin.firestore().collection("users").doc(user.uid);

  // ইউজারের ইনফরমেশন Firestore এ যুক্ত করা
  return userRef.set({
    email: user.email,
    displayName: user.displayName,
    createdAt: admin.firestore.FieldValue.serverTimestamp(),
  })
  .then(() => {
    console.log("User successfully created in Firestore");
  })
  .catch((error) => {
    console.error("Error creating user in Firestore:", error);
  });
});

এখানে, onCreate ট্রিগার ব্যবহার করা হয়েছে। যখন একটি নতুন ইউজার Firebase Authentication এ সাইন আপ করবেন, তখন createUserInFirestore ফাংশনটি Firestore এর users কলেকশনে একটি নতুন ডকুমেন্ট তৈরি করবে। ডকুমেন্টে ইউজারের ইমেইল, ডিসপ্লে নাম এবং অ্যাকাউন্ট তৈরি হওয়ার সময় createdAt ফিল্ড হিসেবে সংরক্ষণ হবে।

২. Firebase Authentication এর onDelete Trigger

যদি ইউজার তার অ্যাকাউন্ট ডিলিট করেন, তাহলে আপনি Firestore ডেটাবেস থেকেও সেই ইউজারের তথ্য মুছে ফেলতে পারেন। onDelete ইভেন্টের মাধ্যমে এটি করতে পারেন।

exports.deleteUserFromFirestore = functions.auth.user().onDelete((user) => {
  const userRef = admin.firestore().collection("users").doc(user.uid);

  // ইউজারের ডকুমেন্টটি Firestore থেকে ডিলিট করা
  return userRef.delete()
    .then(() => {
      console.log("User deleted from Firestore");
    })
    .catch((error) => {
      console.error("Error deleting user from Firestore:", error);
    });
});

এই কোডটি ইউজারের অ্যাকাউন্ট ডিলিট হওয়ার পর users কলেকশন থেকে সেই ইউজারের তথ্য মুছে ফেলবে।


Firestore Trigger ব্যবহার করে Authentication Event Handling

Firebase Functions এবং Firestore Trigger ব্যবহার করে আপনি Firebase Authentication এর মাধ্যমে ইউজারদের কার্যক্রম যেমন সাইন আপ, সাইন ইন, সাইন আউট এবং অ্যাকাউন্ট আপডেট করার পর Firestore ডেটাবেসে কার্যকরীভাবে পরিবর্তন আনতে পারবেন।

১. Firestore Trigger for Document Changes

যদি আপনি Firestore ডেটাবেসে কোনো পরিবর্তন ট্র্যাক করতে চান, তাহলে আপনি Firestore Trigger ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি কোনো ইউজারের প্রোফাইল তথ্য আপডেট হয়, তাহলে তা ট্র্যাক করতে Firestore Trigger ব্যবহার করা যেতে পারে:

exports.onUserProfileUpdate = functions.firestore
  .document('users/{userId}')
  .onUpdate((change, context) => {
    const newValue = change.after.data();
    const previousValue = change.before.data();

    // এখানে ইউজারের প্রোফাইল পরিবর্তন হ্যান্ডেল করতে পারেন
    console.log('User profile updated:', newValue);
    
    return null;
  });

এটি ইউজারের প্রোফাইল তথ্য আপডেট হওয়ার সাথে সাথে Firestore ডেটাবেসে পরিবর্তনটি ট্র্যাক করবে।


Firebase Functions ডেপ্লয় করা

যতটা কোড লিখবেন, ততটাই Firebase Functions কে ডেপ্লয় করতে হবে। Firebase Functions ডেপ্লয় করতে নিচের কমান্ডটি ব্যবহার করুন:

firebase deploy --only functions

সারাংশ

Firebase Authentication ইভেন্ট এবং Firestore Trigger একসাথে ব্যবহার করে আপনি ইউজারের সাইন আপ, সাইন ইন, সাইন আউট বা প্রোফাইল আপডেটের পর Firestore ডেটাবেসে পরিবর্তন আনতে পারেন। Firebase Functions এর মাধ্যমে আপনি স্বয়ংক্রিয়ভাবে ইউজারের ডেটা সংরক্ষণ বা ডিলিট করার মতো কাজ করতে পারবেন। এই প্রক্রিয়া ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশনের জন্য উন্নত ইউজার ম্যানেজমেন্ট এবং ডেটাবেস ইন্টিগ্রেশন বাস্তবায়ন করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...